// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

const db = cloud.database()

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const openid = wxContext.OPENID
  
  try {
    const { itemId, quantity } = event
    
    // 参数验证
    if (!itemId || !quantity || quantity < 1) {
      return {
        success: false,
        message: '参数不正确'
      }
    }
    
    // 直接使用openid作为用户标识
    const userOpenid = openid

    const item = await db.collection('cart').doc(itemId).get()
    
    if (!item.data || item.data.userId !== userOpenid) {
      return {
        success: false,
        message: '商品不存在或无权限'
      }
    }
    
    // 更新商品数量
    await db.collection('cart').doc(itemId).update({
      data: {
        quantity: quantity,
        updateTime: new Date()
      }
    })
    
    return {
      success: true,
      message: '更新成功',
      data: {
        itemId: itemId,
        quantity: quantity
      }
    }
  } catch (error) {
    console.error('更新购物车商品失败：', error)
    return {
      success: false,
      message: '更新失败',
      error: error.message
    }
  }
}